﻿Imports System.ComponentModel.Composition

''' <summary>
''' Interface de base d'un module
''' </summary>
''' <remarks>
''' 
''' </remarks>
Public Interface IModule

    ''' <summary>
    ''' Méthode qui contient la logique de chargement du module
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub Load()

    ''' <summary>
    ''' Méthode qui contient la logique d'initialisation du module
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub Reset(ByVal Application As Application)

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    ReadOnly Property Dependencies As IEnumerable(Of ModuleReference)

    ''' <summary>
    ''' Méthode qui contient la logique de déchargement du module
    ''' </summary>
    ''' <remarks>
    ''' 
    ''' </remarks>
    Sub Unload()
End Interface
